package be.xios.projectquiz.statuspanels;

import java.awt.BorderLayout;
import java.awt.Font;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

/// <summary>
/// Deze klasse is een TextArea waarin al de gebeurtenissen op serverside kunnen displayed worden
/// </summary>
/// <author>Sebastian Kubski</author>
@SuppressWarnings("serial")
public class GameLogPanel extends JPanel {
	
	private JTextArea logTextArea;
	private JScrollPane scrollPane;
	
	//Constructor
	public GameLogPanel() {
		this.setLayout(new BorderLayout());
	
		logTextArea = new JTextArea();
		logTextArea.setFont(new Font("Arial", Font.BOLD, 12));
		logTextArea.setEditable(false);
		
		scrollPane = new JScrollPane(logTextArea, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane. HORIZONTAL_SCROLLBAR_AS_NEEDED); 
		scrollPane.setAutoscrolls(true);
		
		add(scrollPane, BorderLayout.CENTER);
	}
	
	/// <summary>
	/// Deze method updated elke gebeurtenis op de server op een textarea
	/// </summary>
	/// <author>Sebastian Kubski</author>
	/// <author>Sonny Valkeneers/Sebastian Kubski: autoscroll naar onder
	public void updateText(String text) {	
		logTextArea.append((logTextArea.getText().equals("")) ? text : "\n" + text);
		//Autoscroll down
		int x;
		logTextArea.selectAll();
		x = logTextArea.getSelectionEnd();
		logTextArea.select(x,x);
	}
}
